Question Answering (Q\&A) is a sub-field of Information Retrieval, and aims at delivering concise
answers to queries expressed in natural language. Research in this area targeted so far mainly textual
corpora. Database retrieval can be classified into two areas: Natural language
interfaces (to databases) and keyword search (over databases). 
In the BI domain, retrieval systems go beyond executing database queries. They
offer visualizations (e.g. charts) as well as reports that best suit users'
queries. We discuss in the following the most important approaches in these areas 
and relate them to our approach. 

The Q\&A domain is mostly focused on ``community Q\&A''. In this
sub-domain, several users collaborate together (in a crowdsourcing way) to
answer a question, and the best candidate is then chosen as the correct answer
(usually by the user who asked the question in a first place). 
Indeed, social networks have recently played the front stage in Internet usage.
In this area, several problems have arisen, like the question on how to route a
question to the right expert~\cite{Pal:2012:EQS:2180868.2180872}, which can be
seen as a classification
task~\cite{Zhou:2012:CAQ:2187980.2188201,Li:2011:QRC:2063576.2063885}.
Subjective Q\&A (i.e. how to sumarize different opinions based on extracted 
semantics and statistics) is a topic of
interest~\cite{DBLP:conf/aaai/ZhouSCKL12} as well as the prediction of
questions that are not likely to be answered in the
future~\cite{Li:2012:APQ:2187980.2188200}.
Traditional Q\&A (answering questions from a text corpus) is a huge area, but
Maybury~\cite{springerlink:10.1007} outlined the various directions of Q\&A
systems, like their requirements (in terms of sought information), scope,
complexity, etc.
While traditional Q\&A technologies are successful in many application areas, 
the algorithms used there cannot be easily applied to business use-cases with underlying
databases. Indeed in this domain, data sources are mostly structured, 
for which keyword search approaches work best for the time beeing.
Our approach tries to fill this gap by providing a methodology to develope
domain and application specific question answering systems.

Keyword search over databases can be seen as a graph matching problem, where
the database is represented as a graph. Recent
approaches~\cite{Kandogan:2006:ASS:1142473.1142591,
Tata:2008:SDM:1376616.1376705, Tran:2007:OIK:1785162.1785201,
Zhou:2007:SAK:1785162.1785213} translate keyword queries into a set of
structured queries to be ranked.
This problem is known as the minimum Steiner tree problem, where nodes are 
%nodes containing 
are
database entities to be associated to keywords from user's
queries~\cite{2002:DSK:876875.879013,He:2007:BRK:1247480.1247516,
Hristidis:2003:EIK:1315451.1315524,Hristidis:2002:DKS:1287369.1287427,
Liu:2006:EKS:1142473.1142536}.
This kind of computation is very expensive; besides, keyword-based approaches
suffer by the fact that most of the meaning of a sentence is not conveyed by
its \emph{vocabulary} (i.e. words or \emph{key}words in the sentence) but by
the \emph{syntax} of the sentence (i.e. its structure), as pointed out
by Orsi \& al.~\cite{Orsi:2011:KCS:1951365.1951390}.
Li et al.~\cite{4812496} approximate this problem for answering top-$k$
queries efficiently. Our approach tries to extend the ideas developed 
in this area by adding a methodology to express further semantics, e.g.,
for range queries or personalization.

In the BI domain, two systems have raised our attention because they are more 
closely related than the previous approaches.
First, \textsc{Soda}~\cite{blunschi2012} is a keyword-based search system over data
warehouses.
It uses some kinds of patterns to map keywords and some operators in the user's
query to rules to generate SQL fragments. It integrates various knowledge
sources like a domain ontology etc. However, this system does not focus on
``using natural language processing to interpret the
input''~\cite{blunschi2012}. Our proposal is thus much more powerful, e.g.,
to provide means for including user context or more complicated natural language 
patterns and relate them with other background knowledge, which is of 
utermost importance as stated in~\cite{Hearst:2011:NSU:2018396.2018414}.
Secondly, \textsc{Safe}~\cite{Orsi:2011:KCS:1951365.1951390} is an answering system
dedicated to mobile devices in the medical domain. It uses patterns, i.e. 
pre-defined SparQL queries with placeholders for variables. Each pattern has assigned
a predefined natural language representation (i.e. a question that the user can understand) 
and the challenge is to rank these questions according to a keyword input posed by the user.
Our approach goes beyond this idea by the ability to describe complex relations (constraints) 
among the recognized entities in a declarative way and map them into a structured query 
(which might be SQL, MDX, SparQL or any proprietary query language).



 